查看原文
其他

我写了一个软件,差点被投入监狱!

码农翻身刘欣 码农翻身 2022-09-10

2014年2月,爱德华·斯诺登与《卫报》记者 Glenn Greenwald 第一次联系时,斯诺登提出了一个额外的要求:为了保证通信安全,记者需要在电脑上安装一个软件。


斯诺登甚至向记者发送了视频,一步一步告诉记者应该如何安装。



当时,记者还不清楚斯诺登将要曝光的事情有多“劲爆”,对于安装额外的软件十分不情愿。直到三月末,被电视制片人 Laura Poitras 警告提醒斯诺登曝光的重大意义之后,也就是几乎两个月时间之后,记者才安装了它。


这个软件叫PGP, 专门用来保证通信的安全,它的第一个版本是我在1991年开发的。 


因为这个软件,我差点被投入监狱。 



1



我1954年出生于美国的新泽西,大学在佛罗里达大西洋大学读计算机。 


大学毕业后,正处于美国和苏联的冷战时代,每当想起可能到来的核世界大战,我就不寒而栗。


我甚至想过移民到新西兰——我觉得那是核战争之后人类唯一能生存的地方。 



虽说后来冷战缓和,却不断地促使我思考政府和个人之间的关系。 


80年代的美国,PC和网络逐渐普及,人们的通信极为便捷,但也使得监控更加容易。 


政府可以很容易大规模地拦截、监听公民的电子邮件, 完全可以自动化、大规模地操作, 只需要扫描关键字就可以。




我决定做点儿事情,来保护个人隐私。



2



我很早就知道RSA这种非对称加密的方法,加密后的消息牢不可破,但是加密和解密都需要非常强大的运算能力,所以在当时只有政府、军队和大型企业才能使用。 


怎么才能让普通用户也享受RSA的好处呢?  


我知道对称加密(如DES)运行起来是很快的,但是它需要通信双方协商一个密钥才行, 于是我想了一个绝妙的方法: 


把非对称加密 (RSA)和 对称加密 (DES) 结合起来。


用RSA算法传递DES的密钥,然后用DES来加密和解密。


举个例子,  张大胖要和何小痩通信,可以这么做。


1 . 张大胖和何小痩都生成自己的公钥和私钥

2.  张大胖用何小痩的公钥加密一个DES算法的密钥,发给何小痩

3.  何小痩用自己的私钥解密,得到DES算法的密钥

4.  两人使用DES来进行通信, 速度就很快了。


详细的原理和过程,你们可以去看看码农翻身写的文章《一个故事讲完Https


第一步的公钥和私钥该怎么生成呢?这需要两个非常大的质数才行,一般人可搞不定。 


我也想了一个办法,用户只要随意摇晃几下鼠标——这是为了增加随机性——然后我的软件就可以帮它生成。 


我把这个软件叫做PGP, Pretty Good Privacy,意思是相当不错的隐私,这个名字的灵感来源于一家名为“Ralph's Pretty Good Grocery”的杂货铺的名字,而这家杂货铺出现在电台主持人 Garrison Keillor 虚构的小镇中。


我在1991年完成了PGP的第一个版本,而原理类似、大名鼎鼎的SSL, 也就是我们常用的HTTPS,要在1994年才被Netscape实现。 


我绝对不会想到,这个叫PGP的软件会给我带来很大的麻烦。 



3




我本来想销售这个软件,但是当时美国有个犯罪防治法案,其中一条就是:美国政府在法律授权下可以获得语音、通信的明文内容,提供电子通信服务的机构和个人必须保证这一点。 


我觉得销售是不太可能了, 不如让大家免费使用。


1991年6月,我把PGP交给一位朋友,请他放在Usenet的电子布告栏。 


我特意要求他:把这个帖子标记为“仅限美国”。 


可是PGP广受欢迎,迅速从密码圈扩散到了全世界,各地的人权团体开始使用PGP来加密他们的文件, 我收到了无数来自全世界的感谢和赞誉。


与此同时,我也开始美国政府和公司批判。 


拥有RSA专利的RSA数据安全公司说我的PGP是“强盗软件”, 把RSA公开密钥加密算法免费送了出去。


不久之后,我就受到了FBI的指控:军火贩子,非法对外销售武器



这真是让我哭笑不得,我这算哪门子武器。 


原来,美国政府所定义的军火武器,除了导弹、大炮、机关枪以外,也包括加密软件,只要你使用大于40位密钥的密码系统, 而PGP所用的密钥一直大于128位。


没有政府的许可,PGP不准出口!


中国古人说:塞翁失马,焉知非福, 成为FBI调查对象,反而让PGP名声大涨,在互联网上散布得更快了。


广大人民群众一致认为:让FBI感到惊慌失措的加密软件,必定非常安全!


4



对我的调查在缓慢进行之际,越来越多的密码专家和人权人士纷纷表态支持我,在世界各地为我筹募基金,支助我的辩护开销,这让我非常感动。


我当然不能坐以待毙,我要反击!从一个意想不到的地方反击!


美国宪法第一修正案规定:虽然出口枪支弹药和软件受到限制,但是书籍的出口不受限制。 


于是,我通过MIT出版社出了一本书,书名叫做《PGP Source Code and Internals》,足足有600页。



其中的内容估计你也猜到了,这本书没别的东西,全是PGP这个软件的源代码


任何人,只要你购买了这本书(不受美国出口的限制),你就获得了PGP软件,前提是,需要用OCR软件扫描一下——我在书的开头非常贴心地告诉了大家如何使用OCR来操作。 


我出口的是书本中的知识,不是密码应用器材, 美国政府无话可说。


虽然我没法继续开发PGP,但是在欧洲,政府对加密技术的态度比较开放,欧洲的程序员不断地改进它,并且分发到世界各地。


生米已经熟饭 !


终于,经过3年的调查,美国检察总长办公室撤销对我的控诉。我也顺利地从RSA数据安全公司获得授权,PGP成为了合法的产品。 


这一场世纪调查把我塑造成了密码学界的圣战战士,很多搞营销的都极其羡慕PGP从这个案子获得的免费的宣传,但是他们感受不到,我所承受的巨大压力。



5



欢迎大家使用PGP,对自己的通信加密,不过一定要主意:从可靠的来源去下载,下载以后,最好验证一下这个软件下载过程中没被篡改。 


如果PGP来历不明,被人动过手脚,那一切都完了!无论多强的加密算法都不管用了。


有人说,一个人成神以后就会留下以自己名字命名的定律,我还真有两个:


1. 技术的自然流动往往朝着使监视更容易的方向发展。


2. 计算机跟踪我们的能力每十八个月翻一番。


我是齐默尔曼,计算机密码学家,PGP的发明人。 






码农翻身3年精华文章(必读!)
老婆离家三周,我写了一个操作系统!
国产数据库想突破重围有多难?
Linux之父:我财务自由以后,失眠了
我决定辞掉工作,全职开发我的操作系统!
漫画:打死我也不搞负载均衡了
漫画:兄弟,今晚又得熬个通宵了!
程序员的宿命
宇宙第一IDE到底是谁?
如何降低程序员的工资?
程序员,你得选准跑路的时间!
Javascript: 一个屌丝的逆袭
我是一个线程
TCP/IP之大明邮差
一个故事讲完Https

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存